Impact
Vendure provides an authorization system with different levels of privileges. For example, an administrator cannot create another administrator.
In the admin UI, there are a couple of places with description inputs, such as inventory/collection catalog, shipping methods, promotions, and more.
While the WYSIWYG editor allows limited customization, altering the request data (not in the ui) saves and returns arbitrary HTML with no sanitization. Causing an XSS when viewing the page.
The impact of this XSS is privilege escalation. A user that can write any type of description can trigger the attack. Then any other user that visits the vulnerable page is prone to arbitrary Javascript code execution, giving the attacker ability to execute actions on behalf of this user.
Patches
Update to versions 2.0.3 or above.
Workarounds
Is there a way for users to fix or remediate the vulnerability without upgrading?
References
Are there any links users can visit to find out more?
- GHSA-gm68-572p-q28r
- vendure-ecommerce/vendure@0cdc92b
- https://github.com/vendure-ecommerce/vendure/blob/master/CHANGELOG.md#203-2023-07-04